package com.ruoyi.contrctrefund.service;

import java.util.List;
import com.ruoyi.contrctrefund.domain.HouseContrctRefund;

/**
 * 退租Service接口
 * 
 * @author hct
 * @date 2022-02-16
 */
public interface IHouseContrctRefundService 
{
    /**
     * 查询退租
     * 
     * @param id 退租主键
     * @return 退租
     */
    public HouseContrctRefund selectHouseContrctRefundById(Long id);

    /**
     * 查询退租列表
     * 
     * @param houseContrctRefund 退租
     * @return 退租集合
     */
    public List<HouseContrctRefund> selectHouseContrctRefundList(HouseContrctRefund houseContrctRefund);

    /**
     * 新增退租
     * 
     * @param houseContrctRefund 退租
     * @return 结果
     */
    public int insertHouseContrctRefund(HouseContrctRefund houseContrctRefund,Long userId,String userName);

    /**
     * 修改退租
     * 
     * @param houseContrctRefund 退租
     * @return 结果
     */
    public int updateHouseContrctRefund(HouseContrctRefund houseContrctRefund);

    /**
     * 批量删除退租
     * 
     * @param ids 需要删除的退租主键集合
     * @return 结果
     */
    public int deleteHouseContrctRefundByIds(Long[] ids);

    /**
     * 删除退租信息
     * 
     * @param id 退租主键
     * @return 结果
     */
    public int deleteHouseContrctRefundById(Long id);


    /**
     * 终止合同
     * @param houseContrctRefund
     * @return
     * @throws Exception
     */
    public Object finishContrct(HouseContrctRefund houseContrctRefund,Long userId) throws Exception;


    /**
     * 退单审核
     * @param refundId
     * @return
     * @throws Exception
     */
    public Object confirmContrctRefund(Long refundId,Long userId,String userName) throws Exception;


    /**
     *
     * @param refundId
     * @return
     * @throws Exception
     */
    public Object getContrctRefundAllData(Long refundId) throws Exception;
}
